Nebenbedingung als Strafterm
Statt harter Nebenbedingungen bestraft man Verletzungen im Zielwert:
fpen(x)=f(x)+i∑ρimax(0,gi(x))2
strafe = max(0, delta - DELTA_MAX)**2 * 1e3 \
+ max(0, sigma - SIGMA_MAX)**2 * 1e-2
return masse + strafe
- Innerhalb der Grenze: Strafe 0, es zählt nur die Masse
- Darüber: quadratisch wachsend – der Optimierer wird zur Grenze zurückgedrängt
rho muss zur Skala passen (mm gegen MPa → verschiedene Faktoren)
Eine quadratische Strafe landet nie exakt auf der Grenze – sie lässt eine Restverletzung, die mit rho schrumpft:
rho |
Durchbiegung am Optimum |
Verletzung |
| 100 |
0,50034 mm |
+0,00034 |
| 1 000 |
0,50003 mm |
+0,00003 |
Zu kleines rho → das „Optimum" reißt die Grenze spürbar. Groß genug wählen und am Ende prüfen.